﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CAD.DAO;
using RN.Entidades;
using System.Data;

namespace RN.Componentes
{
    public class CRevaluos
    {
        #region DMLS
        public static bool Insertar(Revaluos objProxy)
        {
            ValidationException x = new ValidationException();
       //valida fecha
            if (x.Cantidad > 0)
                throw x;

            DAORevaluos daoProxy = new DAORevaluos();
            return daoProxy.Insertar(objProxy.DTFECHA_DT1, objProxy.SDESCIPCION_DSC1,objProxy.LACTIVOS_ID1,objProxy.ICONCURRENCIA1) > 0;
        }
        public static bool Actualizar(Revaluos objProxy)
        {
            ValidationException x = new ValidationException();
            if (objProxy.LREVALUOS_ID1 <= 0)
                x.AgregarError("Ingrese el código");

           //validarfechA
            if (x.Cantidad > 0)
                throw x;

            DAORevaluos daoProxy = new DAORevaluos();
            return daoProxy.Actualizar(objProxy.LREVALUOS_ID1 ,objProxy.DTFECHA_DT1, objProxy.SDESCIPCION_DSC1, objProxy.LACTIVOS_ID1, objProxy.ICONCURRENCIA1) ;

        }
        public static bool Eliminar(int LREVALUOS_ID1)
        {
            ValidationException x = new ValidationException();
            if (LREVALUOS_ID1 <= 0)
                x.AgregarError("Ingrese el código");

            if (x.Cantidad > 0)
                throw x;

            DAORevaluos daoProxy = new DAORevaluos();
            return daoProxy.Eliminar(LREVALUOS_ID1);
        }
        #endregion
        #region Selects
        public static List<Revaluos> Traer()
        {
            DAORevaluos daoProxy = new DAORevaluos();
            DataSet dtsProxy = daoProxy.Traer();
            return CargarLista(dtsProxy.Tables[0]);
        }
        public static Revaluos TraerXId(int LREVALUOS_ID1)
        {
            DAORevaluos daoProxy = new DAORevaluos();
            DataSet dtsProxy = daoProxy.TraerXId(LREVALUOS_ID1);


            return Cargar(dtsProxy.Tables[0].Rows[0]);
        }
       
        #endregion
        #region Metodos Privados
        private static List<Revaluos> CargarLista(DataTable tabla)
        {
            List<Revaluos> lstProxy = new List<Revaluos>();

            foreach (DataRow fila in tabla.Rows)
            {
                lstProxy.Add(Cargar(fila));
            }
            return lstProxy;
        }
        private static Revaluos Cargar(DataRow fila)
        {
            Revaluos objProxy = new Revaluos();
            objProxy.LREVALUOS_ID1 = Convert.ToInt32(fila["LAREAS_ID"]);
            objProxy.DTFECHA_DT1 =   Convert.ToDateTime(fila["LAREAS_ID"]);
            objProxy.SDESCIPCION_DSC1 = fila["LAREAS_ID"].ToString();
            objProxy.LACTIVOS_ID1 = Convert.ToInt32(fila["LAREAS_ID"]);
            objProxy.ICONCURRENCIA1 = Convert.ToInt32(fila["ICONCURRENCIA"]);

            return objProxy;
        }
        #endregion
    }
}
